package com.dingding.facde.activity.service;

import java.util.List;

import com.dingding.common.core.base.dto.ResponseEntity;
import com.dingding.common.core.beans.Activity;
import com.dingding.facde.activity.dto.ExpiredCouponDTO;
import com.dingding.facde.activity.dto.shareplan.ResSharePlan;

/**
 * @ClassName: IActivityService
 * @Description: 活动模块接口类
 * @author yuHaiQing
 * @date 2016年3月24日 上午10:35:51
 */
public interface IActivityShowService {

	/**
	 * @Title: getActivityList
	 * @Description: 获取全部有效的活动列表
	 * @author yuHaiQing
	 * @return List<Activity>    返回类型
	 */
	public List<Activity> getActivityList();

	/**
	 * @Title: getActivityInfo
	 * @Description: 根据活动Id获取活动详情
	 * @param  snId 活动Id
	 * @author yuHaiQing
	 * @return Activity    返回类型
	 */
	public Activity getActivityInfo(String snId);

	/**
	 * @Title: resetInvalidActivity 
	 * @Description: 重置无效活动
	 * @author YHQ 
	 * @return boolean    true:重置成功   false:重置失败
	 */
	public boolean resetInvalidActivity();
	
	/**
	 * @Title: exchangeActivity 
	 * @Description: 兑换邀请码 
	 * @param userId 用户Id
	 * @param invitationCode 邀请码
	 * @author YHQ 
	 * @return Integer    返回类型
	 */
	public Integer exchangeActivity(String userId,String invitationCode);
	

	/**
	 * @Description: 获取用户活动列表
	 * @author fengshuonan
	 * @return List<Activity> 活动列表
	 * @since 2.3.2
	 */
	public String getActivityList(String clientData);
	
	
	/**
	 * @Description:获取首页的模块列表
	 * @author fengshuonan
	 * @since 2.4
	 */
	public String getIndexModuleList(String clientData);
	
	/**
	 * @Description:获取首页的模块列表
	 * @author YHQ
	 * @since 2.5.4
	 */
	public String getModuleList(String clientData);
	
	/**
	 * @Description:获取共享计划列表
	 * @author fengshuonan
	 * @since 2.4
	 */
	public ResponseEntity<ResSharePlan> getSharePlanList(String cityNo);
	
	/**
	 * 
	 * @Title: getExpiredCouponNumber 
	 * @Description: 获取即将过期优惠券数量
	 * @param userId 用户Id
	 * @author YHQ 
	 * @return ExpiredCouponDTO    返回类型
	 * 
	 */
	public ExpiredCouponDTO getExpiredCouponNumber(String userId);
}
